package cn.edu.swu.cly.io;

import java.awt.*;
import java.util.Scanner;

public class Main {                     //创建一个测试接口，能够测试复制成功否(相当于Main类)
    public static void main(String[] args) {
//        FileTools tools = new FileTools();
//        String sourceFile = "D:\\java\\workspace\\华杨.png";
//        String targetFile = "D:\\java\\workspace\\img_1_2.png";       //注意路径问题，不能识别双引号
//        tools.copy1(sourceFile, targetFile);

//        //下载一个网页的图片
//        try{
//            String url = "https://www.swu.edu.cn/images/quanguokepuyuezhuhaibao.png";       //输入流
//            String outFile = "D:\\\\java\\workspace\\img_2_1.png";      //输出流
//            WebDownloader downloader = new WebDownloader();             //创建一个对象
//            downloader.download(url,outFile);
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }
//


        //https://www.swu.edu.cn/__local/2/71/7A/8207429B04881F0B24F3CB4B6A5_C542C7C8_A8B0F.jpg          备用图片源2
        //作业实现

        //初始化图片管理器和用户输入
        ImageManager imageManager = new ImageManager();
        Scanner scanner = new Scanner(System.in);           //创建输入扫描器，可用scanner调用Scanner类的方法获取用户输入
        boolean Running = true;

        //循环的选择菜单
        while (Running) {
            //打印菜单
            System.out.println("\n=== 图片下载系统 ===");
            System.out.println("1. 下载图片");
            System.out.println("2. 查看所有图片");
            System.out.println("3. 搜索图片");
            System.out.println("4. 退出");
            System.out.print("请输入操作编号(1-4)：");

            //功能输入
            if (scanner.hasNextInt()) {
                int choice = scanner.nextInt();
                scanner.nextLine();             //清空每一次的输入缓冲区

                switch (choice) {
                    case 1:
                        //下载图片：获取URL并调用下载方法
                        System.out.print("请输入图片URL：");
                        String url = scanner.nextLine().trim();
                        imageManager.downloadImage(url);
                        break;
                    case 2:
                        //查看所有图片
                        System.out.println("\n已下载图片列表：");
                        imageManager.listImages();
                        break;
                    case 3:
                        //搜索图片：根据名称查找
                        System.out.print("请输入要搜索的图片名称：");
                        String name = scanner.nextLine().trim();
                        String path = imageManager.searchImage(name);
                        if (path != null) {
                            System.out.println("找到图片：" + name + "，路径：" + path);
                        } else {
                            System.out.println("未找到名称为 [" + name + "] 的图片");
                        }
                        break;
                    case 4:
                        //退出系统
                        System.out.println("系统已退出，感谢使用！");
                        Running = false;
                        break;
                    default:
                        System.out.println("无效输入，请输入1-4之间的数字！");
                }
            } else {
                //处理非数字输入
                System.out.println("输入错误，请输入数字！");
                scanner.nextLine(); //清空无效输入
            }
        }
        scanner.close();        //关闭扫描器
    }
}

